Packet processors perform various functions in data networks. These functions may require a packet processor to temporarily store a copy of a data packet while other processing is performed. If insufficient resources are available, the packet processor may be unable to store the data packet and the data packet may be dropped.
Different levels of service may be provided based upon properties of data packets. For example, a packet processor may assign a higher level of service to data packets representing interactive traffic than to data packets representing bulk file transfers. Similarly, the packet processor may guarantee a specified bandwidth to some types of traffic and may limit the bandwidth available to other types of traffic.
As the number and size of data networks has increased, demand for packet processors that can operate at high data rates while providing differential services support has grown. This demand for increased performance and differential services support has highlighted the need to use packet processor resources efficiently. The present invention addresses this need.